import request from '@/utils/request'

// 获取商品列表
export function getProducts(params) {
  console.log('API调用: getProducts, 参数:', params);
  
  // 确保params是一个对象
  const queryParams = params || {};
  
  // 如果没有传入分页参数，添加一个标记表示获取所有数据
  if (!queryParams.page && !queryParams.pageSize) {
    console.log('未检测到分页参数，标记为获取所有数据');
    queryParams.getAllData = true;
    // 强制设置页大小为较大值，确保能获取足够的数据
    queryParams.pageSize = 100;
  } else {
    // 确保页大小至少为20
    if (queryParams.pageSize < 20) {
      console.log(`页大小(${queryParams.pageSize})小于20，调整为20`);
      queryParams.pageSize = 20;
    }
  }
  
  return request({
    url: '/api/products',
    method: 'get',
    params: queryParams
  }).then(response => {
    console.log('API响应: getProducts, 状态:', response.code, '数据条数:', 
      Array.isArray(response.data) ? response.data.length : 
      (response.data && response.data.records ? response.data.records.length : '未知'));
    return response;
  }).catch(error => {
    console.error('API错误: getProducts', error);
    throw error;
  });
}

// 获取商品详情
export function getProduct(id) {
  return request({
    url: `/api/products/${id}`,
    method: 'get'
  })
}

// 创建商品
export function createProduct(data) {
  return request({
    url: '/api/products',
    method: 'post',
    data
  })
}

// 更新商品
export function updateProduct(id, data) {
  return request({
    url: `/api/products/${id}`,
    method: 'put',
    data
  })
}

// 删除商品
export function deleteProduct(id) {
  return request({
    url: `/api/products/${id}`,
    method: 'delete'
  })
}

// 购买商品
export function purchaseProduct(id, data) {
  return request({
    url: `/api/products/${id}/purchase`,
    method: 'post',
    data
  })
} 